A C++11 implementation of arbitrary-rank tensors for high-performance computing

نویسنده

  • Alejandro M. Aragón
چکیده

This article discusses an efficient implementation of tensors of arbitrary rank by using some of the idioms introduced by the recently published C++ ISO Standard (C++11). With the aims at providing a basic building block for high-performance computing, a single Array class template is carefully crafted, from which vectors, matrices, and even higher-order tensors can be created. An expression template facility is also built around the array class template to provide convenient mathematical syntax. As a result, by using templates, an extra high-level layer is added to the C++ language when dealing with algebraic objects and their operations, without compromising performance. The implementation is tested running on both CPU and GPU.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Cramér-Rao-Induced Bounds for CANDECOMP/PARAFAC Tensor Decomposition

This paper presents a Cramér-Rao lower bound (CRLB) on the variance of unbiased estimates of factor matrices in Canonical Polyadic (CP) or CANDECOMP/PARAFAC (CP) decompositions of a tensor from noisy observations, (i.e., the tensor plus a random Gaussian i.i.d. tensor). A novel expression is derived for a bound on the mean square angular error of factors along a selected dimension of a tensor o...

متن کامل

Orthogonal Rank-two Tensor Approximation: a Modified High-order Power Method and Its Convergence Analysis

With the notable exceptions that tensors of order 2, that is, matrices always have best approximations of arbitrary low ranks and that tensors of any order always have the best rank-one approximation, it is known that high-order tensors can fail to have best low rank approximations. When the condition of orthogonality is imposed, even at the most general case that only one pair of components in...

متن کامل

Computation of Trigonometric Functions by the Systolic Implementation of the CORDIC Algorithm

Trigonometric functions are among the most useful functions in the digital signal processing applications. The design introduced in this paper computes the trigonometric functions by means of the systolic arrays. The method for computing these functions for an arbitrary angle, , is the CORDIC algorithm. A simple standard cell is used for the systolic array. Due to the fixed inputs, in some...

متن کامل

Computation of Trigonometric Functions by the Systolic Implementation of the CORDIC Algorithm

Trigonometric functions are among the most useful functions in the digital signal processing applications. The design introduced in this paper computes the trigonometric functions by means of the systolic arrays. The method for computing these functions for an arbitrary angle, , is the CORDIC algorithm. A simple standard cell is used for the systolic array. Due to the fixed inputs, in some...

متن کامل

A Model based on Cloud Computing for the implementation and management IT services in Banks

In recent years, the banking industry has made significant changes in technology and communications. The expansion of electronic communications and a large number of people around the world access to the Internet, appropriate to establish trade and economic exchanges provided but high costs, lack of flexibility and agility in existing systems because of the large volume of information, confiden...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:
  • Computer Physics Communications

دوره 185  شماره 

صفحات  -

تاریخ انتشار 2014